﻿#ifndef COMPOSITE_H
#define COMPOSITE_H

#include "Component.h"
#include <QList>

class Composite : public Component
{
private:
    QList<shared_ptr<Component>> m_children;
//    QList<Component*> m_children;
public:
    Composite(QString name);
    virtual void Add(const shared_ptr<Component>& c) override;
    virtual void Remove(const shared_ptr<Component>& c) override;
//    virtual void Add(Component* c) override;
//    virtual void Remove(Component* c) override;
    virtual void Display(int depth) override;
};

#endif // COMPOSITE_H
